<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.org/ui">

    <ui:composition template="/plantillas/plantillaPrincipal.xhtml">
        <ui:define name="contenido">
            <h:form id="formFacturaProforma">
                <p:panel id="pnlBusquedaBancos" header="Realizar Factura Proforma de Telas" style="margin: 0px auto;">


                    <p:panelGrid  style="width: 100%;margin: 10px auto;">      
                        <p:row>
                            <p:column>
                                <h:outputLabel value="CÓDIGO DE FACTURA PROFORMA:" styleClass="lblForm" 
                                               rendered="#{BKFacturaProforma.comando.nombre ne 'Actualizar'?false:true}" />  
                            </p:column>
                            <p:column colspan="3">
                                <h:outputText id="idCodigoPedido" value="#{BKFacturaProforma.facturaProformaFormulario.codigoProforma}" 
                                              style="width: 180px" rendered="#{BKFacturaProforma.comando.nombre ne 'Actualizar'?false:true}" />  
                            </p:column>

                        </p:row>


                        <p:row>
                            <p:column>
                                <h:outputLabel value="MODO DE ENVIO(*): " styleClass="lblForm"  />  
                            </p:column>
                            <p:column>
                                <p:selectOneMenu  id="idModoEnvio" value="#{BKFacturaProforma.facturaProformaFormulario.modoDespacho}" required="true" converter="#{modoEnvioConverter}">
                                    <f:selectItem itemLabel="Seleccione" itemValue="" />
                                    <f:selectItem itemLabel="CONTENEDORES MARÍTIMOS" itemValue="CONTENEDORES MARITIMOS" />
                                    <f:selectItem itemLabel="CONTENEDORES TERRESTRES" itemValue="CONTENEDORES TERRESTRES" />
                                    <f:selectItem itemLabel="CONTENEDORES AÉREOS" itemValue="CONTENEDORES AEREOS" />
                                </p:selectOneMenu>            
                            </p:column>
                            <p:column>
                                <h:outputLabel value="ESTADO DE FACTURA PROFORMA: " styleClass="lblForm"  />  
                            </p:column>
                            <p:column>
                                <p:selectOneMenu  id="idEstadoPedido" value="#{BKFacturaProforma.facturaProformaFormulario.estadoProforma}" disabled="true" style="width: 188px"
                                                  rendered="#{BKFacturaProforma.facturaProformaFormulario.estadoProforma eq 'B'?true:false}">
                                    <f:selectItem itemLabel="BORRADOR" itemValue="B" />                                          
                                </p:selectOneMenu>  
                                <p:selectOneMenu  id="idEstadoPedido1" value="#{BKFacturaProforma.facturaProformaFormulario.estadoProforma}" style="width: 188px"
                                                  rendered="#{BKFacturaProforma.facturaProformaFormulario.estadoProforma eq 'E'?true:false}">
                                    <f:selectItem itemLabel="Seleccionar" itemValue="E" /> 
                                    <f:selectItem itemLabel="APROBADO" itemValue="A" />  
                                    <f:selectItem itemLabel="NO APROBADO" itemValue="N" />
                                </p:selectOneMenu>                    
                            </p:column>
                        </p:row>
                        <p:row>
                            <p:column>

                                <h:outputLabel value="FECHA FACTURA PROFORMA(*): " styleClass="lblForm"  />  
                            </p:column>
                            <p:column>
                                <p:calendar value="#{BKFacturaProforma.facturaProformaFormulario.fechaFacturaProforma}" id="idFechaTomaPedido" locale="es"
                                            required="true" showOn="button" style="width: 185px" pattern="dd/MM/yyyy" maxdate="#{BKFacturaProforma.facturaProformaFormulario.fechaDelivery}">
                                    <p:ajax event="dateSelect" listener="#{MBFacturaProforma.marcarInicio}" update="idFechaDespachoPedido" />
                                </p:calendar>
                                <p:message for="idFechaTomaPedido" display="text"/>
                            </p:column>

                            <p:column>
                                <h:outputLabel value="FECHA DE DELIVERY(*): " styleClass="lblForm"  />  
                            </p:column>
                            <p:column>
                                <p:calendar value="#{BKFacturaProforma.facturaProformaFormulario.fechaDelivery}" id="idFechaDespachoPedido" locale="es" 
                                            required="true" showOn="button" style="width: 185px" pattern="dd/MM/yyyy" mindate="#{BKFacturaProforma.facturaProformaFormulario.fechaFacturaProforma}">
                                    <p:ajax event="dateSelect" listener="#{MBFacturaProforma.marcarFinal}" update="idFechaTomaPedido" />
                                </p:calendar>
                                <p:message for="idFechaDespachoPedido" display="text"/>
                            </p:column>
                        </p:row>
                        <p:row>
                            <p:column>
                                <h:outputLabel value="CLIENTE(*): " styleClass="lblForm"  />
                            </p:column>
                            <p:column>
                                <p:selectOneMenu  id="idCliente" value="#{BKFacturaProforma.facturaProformaFormulario.idCliente}" 
                                                  required="true" converter="#{clienteConverter}" style="width: 400px"
                                                  filter="true" filterMatchMode="contains" var="cli">
                                    <f:selectItem itemLabel="Seleccione" itemValue="" />                                          
                                    <f:selectItems value="#{BKFacturaProforma.listaClientesActivos}" var="cliente" 
                                                   itemValue="#{cliente}" itemLabel="#{cliente.razonSocial}" />
                                    <p:column>  
                                        #{cli.razonSocial}
                                    </p:column> 
                                    <p:ajax update="idDireccionCliente,idNroDocumentoCliente,idCodigoCliente,idDireccionClientePais" event="change" />
                                </p:selectOneMenu>      
                                <p:message for="idCliente" display="text"/>
                                <h:outputLink value="#{request.contextPath}#{MBCliente.mostrarMantenimiento()}.anx" target="_blank" class="linkAgregar" >Agregar Cliente</h:outputLink>
                            </p:column>

                        </p:row>
                        <p:row>
                            <p:column colspan="4">
                                <p:fieldset legend="INFORMACIÓN DEL CLIENTE" toggleable="true">
                                    <p:panelGrid  style="width:100%">
                                        <p:row>
                                            <p:column style="width: 250px">
                                                <h:outputLabel value="CÓDIGO DE CLIENTE:" styleClass="lblForm"  />  
                                            </p:column>
                                            <p:column>
                                                <h:outputLabel id="idCodigoCliente" value="#{BKFacturaProforma.facturaProformaFormulario.idCliente.codigoCliente}" />
                                            </p:column>
                                            <p:column style="width: 250px">
                                                <h:outputLabel value="NRO DE DOCUMENTO: " styleClass="lblForm"  /> 
                                            </p:column>
                                            <p:column>
                                                <h:outputLabel id="idNroDocumentoCliente" value="#{BKFacturaProforma.facturaProformaFormulario.idCliente.numeroDocumento}" />                          
                                            </p:column>
                                        </p:row>

                                        <p:row>
                                            <p:column style="width: 250px">
                                                <h:outputLabel value="DIRECCIÓN FISCAL: " styleClass="lblForm"  />  
                                            </p:column>
                                            <p:column colspan="3">
                                                <h:outputLabel id="idDireccionCliente" value="#{BKFacturaProforma.facturaProformaFormulario.idCliente.direccionLegal}  " />
                                                <h:outputLabel id="idDireccionClientePais" value="#{BKFacturaProforma.facturaProformaFormulario.idCliente.descUbicacion}  " />
                                            </p:column>
                                        </p:row>

                                    </p:panelGrid>


                                </p:fieldset>
                            </p:column>
                        </p:row>

                        <p:row>
                            <p:column>
                                <h:outputLabel value="CLIENTE MARCA: " styleClass="lblForm" />
                            </p:column>
                            <p:column>
                                <p:selectOneMenu  id="clienteMarca" value="#{BKFacturaProforma.facturaProformaFormulario.clienteMarca}" 
                                                  converter="#{clienteConverter}" style="width: 400px" required="true"
                                                  filter="true" filterMatchMode="contains" var="cli">
                                    <f:selectItem itemLabel="Seleccione" itemValue="" />                                          
                                    <f:selectItems value="#{BKFacturaProforma.listaClientesActivos}" var="cliente" 
                                                   itemValue="#{cliente}" itemLabel="#{cliente.razonSocial}" />
                                    <p:column>  
                                        #{cli.razonSocial}
                                    </p:column> 
                                    <p:ajax process="@this" listener="#{MBFacturaProforma.elegirClienteMarca}" event="change" />
                                </p:selectOneMenu>      
                                <p:message for="idCliente" display="text"/>
                                <h:outputLink value="#{request.contextPath}#{MBCliente.mostrarMantenimiento()}.anx" target="_blank" class="linkAgregar" >Agregar Cliente</h:outputLink>
                            </p:column>

                        </p:row>

                        <p:row>
                            <p:column>
                                <h:outputLabel value="TIPO MONEDA(*): " styleClass="lblForm"  />
                            </p:column>
                            <p:column>
                                <p:selectOneMenu  id="idTipoMoneda" value="#{BKFacturaProforma.facturaProformaFormulario.idTipoMoneda.id}" 
                                                  required="true">
                                    <f:selectItem itemLabel="Seleccione" itemValue="0" />                                          
                                    <f:selectItems value="#{BKFacturaProforma.listaTipoMonedaActivos}" var="tipoMoneda" 
                                                   itemValue="#{tipoMoneda.id}" itemLabel="#{tipoMoneda.nombre}" />
                                    <p:ajax update="idPanelListaDetalle,btnAgregarArticulo" event="change" listener="#{MBFacturaProforma.cargarTipoMonedaSeleccionado}" />
                                </p:selectOneMenu>      
                                <p:message for="idTipoMoneda" display="text"/>

                            </p:column>

                            <p:column>
                                <h:outputLabel value="COLECCIÓN(*): " styleClass="lblForm"  />
                            </p:column>
                            <p:column>
                                <p:inputText id="txtColeccion" required="true" onkeyup="cambiarMayuscula(this)"
                                             value="#{BKFacturaProforma.facturaProformaFormulario.coleccionNombre}"/> 
                                <p:message for="txtColeccion" display="text" />

                            </p:column>
                        </p:row>

                        <p:row>
                            <p:column>
                                <h:outputLabel id="lblTipoCambio" value="TIPO DE CAMBIO" styleClass="lblForm"  />
                            </p:column>
                            <p:column>
                                <h:outputLabel id="lblCompraTipoCambio" value="COMPRA: " style="font-weight: bold" />
                                <h:outputLabel id="txtCompraTipoCambio" value="#{BKFacturaProforma.facturaProformaFormulario.cambioCompra}" />
                            </p:column>
                            <p:column>
                                <h:outputLabel id="lblVentaTipoCambio" value="VENTA: " style="font-weight: bold" />
                                <h:outputLabel id="txtVentaTipoCambio" value="#{BKFacturaProforma.facturaProformaFormulario.cambioVenta}" />
                            </p:column>
                        </p:row>

                        <p:row>
                            <p:column colspan="4">             
                                <p:panel id="idPanelListaDetalle" header="Detalle Factura Proforma" style="margin: 0px auto; text-align: center">

                                    <p:commandButton value="AGREGAR DETALLE" styleClass="ui-priority-primary" id="btnAgregarArticulo"  immediate="true" 
                                                     oncomplete="agregarPrenda.show()" actionListener="#{MBDetallePedidoFP.nuevoDetallePrenda}"
                                                     disabled="#{BKFacturaProforma.facturaProformaFormulario.idTipoMoneda.id eq 0}"
                                                     update=":formularioAgregarPrenda:agregarDetalle"/>    

                                    <br /><br />


                                    <p:dataTable id="dataTablaDetallePedido" value="#{BKDetallePedidoFP.listaDetallePedidoFP}"  var="detallePedidoFp"
                                                 emptyMessage="No hay productos añadidos" filteredValue="" editable="true" rowIndexVar="rowIndex"
                                                 paginator="true" rows="5" paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} 
                                                 {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" rowsPerPageTemplate="5,10,15" style="text-align: center"> 
                                        <p:ajax event="rowEdit" update=":formFacturaProforma:idResumen" listener="#{MBDetallePedidoFP.editarDetallePedidoFpPrenda}" />

                                        <p:column id="idColumnaNumArt" style="width: 5%" headerText="Num.">
                                            <h:outputText value="#{rowIndex+1}" />
                                        </p:column>

                                        <p:column id="idProductoFP"
                                                  headerText="Producto"  
                                                  filterMatchMode="contains">
                                            <h:outputText value="#{detallePedidoFp.nombreProducto}" /> 
                                        </p:column>


                                        <p:column id="idColorFP"
                                                  headerText="Detalle"  
                                                  filterMatchMode="contains"> 
                                            <h:outputText value="#{detallePedidoFp.detalle}" /> 
                                        </p:column>

                                        <p:column id="idTallasFP"
                                                  headerText="Tallas"  
                                                  filterMatchMode="contains"> 
                                            <h:outputText value="#{detallePedidoFp.tallas}" /> 
                                        </p:column>

                                        <p:column id="idCantidadFP"
                                                  headerText="Cantidad"  
                                                  filterMatchMode="contains">
                                            <p:cellEditor>  
                                                <f:facet name="output">  
                                                    <h:outputText value="#{detallePedidoFp.cantidadUM}" style="float: right" >
                                                        <f:convertNumber maxFractionDigits="2" minFractionDigits="2" />
                                                    </h:outputText>    
                                                </f:facet>  
                                                <f:facet name="input">  
                                                    <p:inputText onkeyup="cambiarMayuscula(this)" value="#{detallePedidoFp.cantidadUM}" 
                                                                 style="width:100%" maxlength="150" >
                                                    </p:inputText> 

                                                </f:facet>
                                            </p:cellEditor>  
                                        </p:column>

                                        <p:column id="idPesoUnidadFP"                                                                                
                                                  headerText="Peso Unit.(Kgs)" rendered="false"> 
                                            <p:cellEditor>  
                                                <f:facet name="output">  
                                                    <h:outputText value="#{detallePedidoFp.pesoUnitario}" >
                                                        <f:convertNumber maxFractionDigits="2" minFractionDigits="2" />
                                                    </h:outputText>    
                                                </f:facet>  
                                                <f:facet name="input">  
                                                    <p:inputText onkeyup="cambiarMayuscula(this)" value="#{detallePedidoFp.pesoUnitario}" 
                                                                 style="width:100%" maxlength="150" >
                                                    </p:inputText> 

                                                </f:facet>  
                                            </p:cellEditor>  
                                        </p:column>         


                                        <p:column id="idPesoTotalFP"                                                                                                	
                                                  headerText="Peso Tot.(Kgs)" rendered="false"> 
                                            <h:outputText value="#{detallePedidoFp.pesoTotal}" >
                                                <f:convertNumber maxFractionDigits="2" minFractionDigits="2" />
                                            </h:outputText>    
                                        </p:column>         

                                        <p:column headerText="Precio Unit."> 
                                            <p:cellEditor>  
                                                <f:facet name="output"> 
                                                    <h:outputText value="#{BKFacturaProforma.facturaProformaFormulario.idTipoMoneda.id eq 1?
                                                                           detallePedidoFp.precioUnitarioSoles:detallePedidoFp.precioUnitario}">
                                                        <f:convertNumber maxFractionDigits="2" minFractionDigits="2" groupingUsed="false" />
                                                    </h:outputText>    
                                                    <h:outputText value=" #{BKFacturaProforma.facturaProformaFormulario.idTipoMoneda.simbolo}/#{detallePedidoFp.unidadMedida}" >
                                                    </h:outputText> 
                                                </f:facet>  
                                                <f:facet name="input">  
                                                    <p:inputText onkeyup="cambiarMayuscula(this)" value="#{detallePedidoFp.precioUnitario}" 
                                                                 rendered="#{BKFacturaProforma.facturaProformaFormulario.idTipoMoneda.id eq 2}"
                                                                 style="width:100%" maxlength="12" required="true" >
                                                    </p:inputText> 
                                                    <p:inputText onkeyup="cambiarMayuscula(this)" value="#{detallePedidoFp.precioUnitarioSoles}" 
                                                                 rendered="#{BKFacturaProforma.facturaProformaFormulario.idTipoMoneda.id eq 1}"
                                                                 style="width:100%" maxlength="12" required="true" >
                                                    </p:inputText> 

                                                </f:facet>  
                                            </p:cellEditor>  
                                        </p:column>         

                                        <p:column id="idPrecioTotalFP"                                                                                                
                                                  headerText="Precio Tot." > 
                                            <h:outputText value="#{BKFacturaProforma.facturaProformaFormulario.idTipoMoneda.nombre eq 'SOLES'?
                                                                   detallePedidoFp.precioTotalSoles:detallePedidoFp.precioTotal}" style="float: right" >
                                                <f:convertNumber maxFractionDigits="2" minFractionDigits="2" />
                                            </h:outputText>    
                                        </p:column>         

                                        <p:column id="idAccionesCuentaBancariaFP" headerText="Acciones" >                                            
                                            <p:commandButton id="selectButton" oncomplete="confirmacion.show()" ajax="true"
                                                             icon="ui-icon-trash" process="@this" >
                                                <f:setPropertyActionListener value="#{detallePedidoFp}" target="#{BKDetallePedidoFP.currentDetalleFacturaProforma}"/>
                                            </p:commandButton>  
                                            <p:rowEditor  transient="true" />  
                                        </p:column>

                                    </p:dataTable>
                                    <br/>
                                    <h:panelGrid id="idResumen" columns="6" style="width: 800px;margin: 0px auto; text-align: left">   
                                        <h:outputText  value="CANTIDAD TOTAL DE PRODUCTOS: " styleClass="lblForm"  />
                                        <h:outputText id="lblCantitadTP" value="#{BKFacturaProforma.facturaProformaFormulario.cantidadTotalProductos}" >
                                            <f:convertNumber maxFractionDigits="2" minFractionDigits="2" />
                                        </h:outputText>     
                                        <h:outputText  value="PESO TOTAL (KGS): " style="font-weight: bold" rendered="false" />
                                        <h:outputText id="lblPesoTotal" value="#{BKFacturaProforma.facturaProformaFormulario.pesoTotal}" rendered="false">
                                            <f:convertNumber maxFractionDigits="2" minFractionDigits="2" />
                                        </h:outputText>     
                                        <h:outputText  value="PRECIO TOTAL FOB: " styleClass="lblForm"  />
                                        <h:outputText  id="lblTotalPagar" value="#{BKFacturaProforma.facturaProformaFormulario.idTipoMoneda.nombre eq 'SOLES'?
                                                                                   BKFacturaProforma.facturaProformaFormulario.montoTotalSoles:BKFacturaProforma.facturaProformaFormulario.montoTotal}" >
                                            <f:convertNumber maxFractionDigits="2" minFractionDigits="2" />
                                        </h:outputText>     
                                    </h:panelGrid>                         

                                </p:panel> 
                            </p:column>
                        </p:row>
                    </p:panelGrid> 
                    <p:panelGrid style="width:40%;margin: 10px auto;">

                        <p:row >
                            <p:column>
                                <p:commandButton action="#{BKFacturaProforma.comando.aceptar()}" ajax="false" 
                                                 value="#{BKFacturaProforma.comando.nombre}" id="btnGuardar"
                                                 disabled="#{BKDetallePedidoFP.listaDetallePedidoFP.size() eq 0?true:false}"/>
                            </p:column>
                            <p:column>
                                <p:commandButton action="#{MBFacturaProforma.cancelar()}" ajax="false" immediate="true" value="Cancelar"/>
                            </p:column>
                        </p:row>	

                    </p:panelGrid>

                    <h:panelGrid styleClass="mensaje_obligatorio">(*) Campos Requeridos</h:panelGrid>

                    <p:confirmDialog id="dlgEliminarDetalleFP" message="#{message['dialog.confirmacion.mensaje']}" 
                                     header="#{message['dialog.confirmacion.header']}" severity="alert" widgetVar="confirmacion">
                        <h:panelGrid style="width: auto;margin:0px auto;border:0px;padding: 0 5px" columns="2">
                            <p:commandButton id="btnConfEliDetalleFP" update="idPanelListaDetalle,btnGuardar"
                                             value="Si"  oncomplete="confirmacion.hide()" actionListener="#{MBDetallePedidoFP.eliminarDetallePedidoFpPrenda(actionEvent)}" 
                                             style="text-align: center" immediate="true" />  
                            <p:commandButton id="btnCancEliDetalleFP" value="No" onclick="confirmacion.hide()" type="button" style="text-align: center" />   
                        </h:panelGrid>
                    </p:confirmDialog>




                </p:panel>
            </h:form>
            <p:dialog widgetVar="agregarPrenda" id="agregarArticulo" header="Agregar Nueva Prenda" 
                      modal="true" closable="true" modal="true" closable="false" dynamic="true" transient="true">
                <ui:include src="FormularioAgregarPrenda.xhtml" />                     
            </p:dialog>


        </ui:define>
    </ui:composition>
</html>   
